There are presently over 300 million customers worldwide for cellular telephones and other wireless devices. A significant percentage of these wireless devices are being used as a “data pipe” (i.e., voice traffic is not the primary function). Within the United States, cellular service is offered by cellular service providers, by the regional Bell companies, and by the national long distance operators. The enhanced competition has driven the price of cellular service down to the point where it is affordable to a large segment of the population.
The current generation of cellular phones is used primarily for voice conversations between a subscriber device (or wireless device) and another party through the wireless network. A smaller number of wireless devices are data devices, such as personal digital assistants (PDAs) equipped with cellular/wireless modems. Because the bandwidth for a current generation wireless device is typically limited to a few tens of kilobits per second (Kbps), the applications for the current generation of wireless devices are relatively limited. However, this is expected to change in the next (or third) generation of cellular/wireless technology, sometimes referred to as “3G” wireless/cellular, where much greater bandwidth will be available to each wireless device (i.e., 125 Kbps or greater). The higher data rates will make Internet applications for wireless devices much more common. For instance, a 3G cell phone (or a PC with a 3G cellular modem) may be used to browse web sites on the Internet, to transmit and receive graphics, to execute streaming audio or video applications, and the like. A much higher percentage of the wireless traffic handled by 3G cellular systems will be Internet protocol (IP) traffic and a lesser percentage will be traditional voice traffic.
Real-time streaming of multimedia content over Internet protocol (IP) networks has become an increasingly common application in recent years. As noted above, 3G wireless networks will provide streaming data (both video and audio) to wireless devices for real time applications. A wide range of interactive and non-interactive multimedia Internet applications, such as news on-demand, live TV viewing, video conferencing, live radio broadcasting (such as Broadcast.com), and the like, will provide “real time” data streaming to wireless devices. Unlike a “downloaded” video file, which may be retrieved first in “non-real” time and viewed or played back later, real time (or streaming) data applications require a data source to encode and to transmit a streaming data signal over a network to a receiver, which must decode and play the signal (video or audio) in real time.
As is well known in the art, when a user makes a call from a mobile station (e.g., a cell phone), the call is routed to a mobile switching center (MSC) for registration. The mobile switching center (MSC) is coupled to a visitor location register (VLR) The MSC is capable of sending information to and receiving information from the visitor location register (VLR). The VLR is capable of receiving registration messages that are sent from a mobile station to the MSC. The VLR registers each mobile station with its assigned home location register (HLR). A VLR is also capable of storing temporary copies of service profiles for each registered user and for each mobile station. A VLR is also capable of accessing the MSC to obtain a temporary routing number during an incoming call.
In a distributed architecture, a network element such as a MSC may comprise a plurality of processing elements (PEs). Each processing element (PE) shares the workload of the network element of which it is a part. A distributed architecture has many advantages including scalability and flexibility. However, when a network processing element (PE) needs to access subscriber data within a database such as the VLR, it is important that the PE be able to access the subscriber data quickly and efficiently. The problem is then how to organize the database for maximum efficiency.
One approach is to provide a centralized database that is shared by all of the processing elements (PEs). This simple arrangement presents significant problems. First, the centralized database server will be a potential bottleneck in the system. The capability of the database server may not be sufficient to keep up with the demands placed upon it. Second, there may be performance issues in that the access time for the centralized database server may be too slow for real time applications. Third, there may be memory constraints on the centralized database server. There may be a limit on the number of subscribers that the centralized database server can hold. Lastly, the cost associated with a centralized database server may be significant.
Another approach is to partition the database and distribute the data among the processing elements. This approach eliminates the problems mentioned above that appear when a centralized database server is used. However, this approach presents another challenging problem. Specifically, how is the database to be partitioned so that the processing elements can access subscriber data quickly and efficiently?
Suppose that the database is partitioned and distributed among the processing elements in a network element. One simple approach would be to arbitrarily assign a portion of the database to a processing element. Then when an application in a first processing element of the network element needs to access a subscriber record, the first processing element would send a request to other processing elements in the network element. The processing element that contains the subscriber record would send the requested subscriber record to the first processing element that issued the request.
This solution is simple but has significant drawbacks in that it may generate excessive message traffic sending requests and replies between the processing elements. This approach also has another drawback in the latency required to access the data in the database.
There is therefore a need in the art for an improved mobile telecommunications network architecture that is capable of distributing and accessing subscriber records quickly and efficiently. In particular, there is a need for an improved system and method for eliminating the need for requesting and sending subscriber records between processing elements in a network element in a mobile telecommunications network.